package com.yjd.comm.borrow.service;

import java.util.List;

import com.yjd.comm.borrow.enums.RaiseInterestVolumeTypeEnum;
import com.yjd.comm.borrow.model.BorrowModel;
import com.yjd.comm.borrow.model.CreditorModel;
import com.yjd.comm.borrow.model.InvestModel;
import com.yjd.comm.borrow.model.ProfitFormModel;
import com.yjd.comm.borrow.model.RaiseInterestVolumeModel;

/**
 * <b>description</b>：使用加息券 <br>
 * <b>time</b>：2015-5-11下午7:04:46 <br>
 * <b>author</b>： ready likun_557@163.com
 */
public interface IUseRaiseInterestVolumeService {

	/**
	 * 投标时使用加息券
	 * 
	 * @param im
	 * @param rvm
	 * @throws Exception
	 */
	public void bid(InvestModel im, RaiseInterestVolumeModel rvm) throws Exception;

	/**
	 * 满标审核时候加息处理
	 * 
	 * @throws Exception
	 */
	public void fullBidAudit(RaiseInterestVolumeModel rvm, CreditorModel creditorModel,
			List<ProfitFormModel> profitFormModels, BorrowModel borrowModel, Long curtime)
			throws Exception;

	/**
	 * 有加息券的情况下构建还款报表
	 * 
	 * @param creditorModel
	 * @param borrowModel
	 * @return
	 * @throws Exception
	 */
	public List<ProfitFormModel> buildProfitForm(RaiseInterestVolumeModel rvm,
			CreditorModel creditorModel, BorrowModel borrowModel) throws Exception;

	/**
	 * 获取支持的加息券类型
	 * 
	 * @return
	 */
	public RaiseInterestVolumeTypeEnum getRaiseInterestVolumeTypeEnum();
}
